home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / libblas / tbsv.z / tbsv
Encoding:
Text File  |  2002-10-03  |  7.4 KB  |  182 lines

  1. TBSV(3F)                                              Last changed: 11-2-98
  2.  
  3.  
  4. NNAAMMEE
  5.      SSTTBBSSVV, DDTTBBSSVV, CCTTBBSSVV, ZZTTBBSSVV - Solves a real or complex triangular
  6.      banded system of equations
  7.  
  8. SSYYNNOOPPSSIISS
  9.      Real
  10.  
  11.         CCAALLLL SSTTBBSSVV ((_u_p_l_o,, _t_r_a_n_s,, _d_i_a_g,, _n,, _k,, _a,, _l_d_a,, _x,, _i_n_c_x))
  12.  
  13.      Double precision
  14.  
  15.         CCAALLLL DDTTBBSSVV ((_u_p_l_o,, _t_r_a_n_s,, _d_i_a_g,, _n,, _k,, _a,, _l_d_a,, _x,, _i_n_c_x))
  16.  
  17.      Complex
  18.  
  19.         CCAALLLL CCTTBBSSVV ((_u_p_l_o,, _t_r_a_n_s,, _d_i_a_g,, _n,, _k,, _a,, _l_d_a,, _x,, _i_n_c_x))
  20.  
  21.      Double complex
  22.  
  23.         CCAALLLL ZZTTBBSSVV ((_u_p_l_o,, _t_r_a_n_s,, _d_i_a_g,, _n,, _k,, _a,, _l_d_a,, _x,, _i_n_c_x))
  24.  
  25. IIMMPPLLEEMMEENNTTAATTIIOONN
  26.      IRIX systems
  27.  
  28. DDEESSCCRRIIPPTTIIOONN
  29.      SSTTBBSSVV and DDTTBBSSVV solve a real triangular banded system of equations.
  30.  
  31.      CCTTBBSSVV and ZZTTBBSSVV solve a complex triangular banded system of equations.
  32.  
  33.      These routines solve one of the following systems of equations, using
  34.      the operation associated with each:
  35.  
  36.           EEqquuaattiioonnss      OOppeerraattiioonn
  37.                                -_1
  38.           _A_x=_b           _x <- _A  _x
  39.            _T                   -_T
  40.           _A _x=_b          _x <- _A  _x
  41.            _H                   -_H
  42.           _A _x=_b          _x <- _A  _x (CCTTBBSSVV and ZZTTBBSSVV only)
  43.  
  44.      where
  45.  
  46.      * _b and _x are _n-element vectors
  47.  
  48.      * _A is either a unit or nonunit _n-by-_n upper or lower triangular band
  49.        matrix with (_k+1) diagonals
  50.         -_1
  51.      * _A   is the inverse of _A
  52.         _T
  53.      * _A  is the transpose of _A
  54.         -_T                    _T
  55.      * _A   is the inverse of _A
  56.         _H
  57.      * _A  is the conjugate transpose of _A
  58.         -_H                    _H
  59.      * _A   is the inverse of _A
  60.  
  61.      On input, the right-hand side vector _b is stored in the array argument
  62.      _x.  On output, the solution vector _x overwrites _b in the same array
  63.      argument _x.
  64.  
  65.      These routines have the following arguments:
  66.  
  67.      _u_p_l_o      Character*1.  (input)
  68.                Specifies whether the matrix is an upper or lower triangular
  69.                matrix, as follows:
  70.  
  71.                _u_p_l_o = 'U' or 'u': _A is an upper triangular matrix.
  72.                _u_p_l_o = 'L' or 'l': _A is a lower triangular matrix.
  73.  
  74.      _t_r_a_n_s     Character *1.  (input)
  75.                Specifies the operation to be performed, as follows:
  76.                                           -_1
  77.                _t_r_a_n_s = 'N' or 'n':  _x <- _A  _x
  78.  
  79.                                           -_T
  80.                _t_r_a_n_s = 'T' or 't':  _x <- _A  _x
  81.  
  82.                                           -_T
  83.                _t_r_a_n_s = 'C' or 'c':  _x <- _A  _x (SSTTBBSSVV, DDTTBBSSVV), or
  84.                      -_H
  85.                _x <- _A  _x (CCTTBBSSVV, ZZTTBBSSVV)
  86.  
  87.      _d_i_a_g      Character *1.  (input)
  88.                Specifies whether _A is unit triangular, as follows:
  89.  
  90.                _d_i_a_g = 'U' or 'u':  _A is assumed to be unit triangular.
  91.                _d_i_a_g = 'N' or 'n':  _A is not assumed to be unit triangular.
  92.  
  93.      _n         Integer.  (input)
  94.                Specifies the order of matrix _A.  _n >= 0.
  95.  
  96.      _k         Integer.  (input)
  97.                _u_p_l_o = 'U' or 'u':  _k specifies the number of superdiagonals
  98.                of matrix _A.
  99.                _u_p_l_o = 'L' or 'l':  _k specifies the number of subdiagonals
  100.                of matrix _A.
  101.                _k >= 0.
  102.  
  103.      _a         Array of dimension (_l_d_a,_n).  (input)
  104.                SSTTBBSSVV: Real array.
  105.                DDTTBBSSVV: Double precision array.
  106.                CCTTBBSSVV: Complex array.
  107.                ZZTTBBSSVV: Double complex array.
  108.  
  109.                Before entry with _u_p_l_o = 'U' or 'u', the leading (_k+1)-by-_n
  110.                upper triangular part of array _a must contain the upper
  111.                triangular band part of the matrix of coefficients, supplied
  112.                column-by-column, with the leading diagonal of the matrix in
  113.                row (_k+1) of the array, the first superdiagonal starting at
  114.                position 2 in row _k, and so on.  The top left _k-by-_k
  115.                triangle of array _a is not referenced.
  116.  
  117.                Before entry with _u_p_l_o = 'L' or 'l', the leading (_k+1)-by-_n
  118.                part of array _a must contain the lower triangular band part
  119.                of the matrix of coefficients, supplied column-by-column,
  120.                with the leading diagonal of the matrix in row 1 of the
  121.                array, the first subdiagonal starting at position 1 in row
  122.                2, and so on.  The bottom right _k-by-_k triangle of array _a
  123.                is not referenced.
  124.  
  125.                When _d_i_a_g = 'U' or 'u', these routines assume that all
  126.                elements of array _a that represent diagonal elements of the
  127.                matrix _A are 1.  In this case, neither of these routines
  128.                will reference any of the diagonal elements.
  129.  
  130.      _l_d_a       Integer.  (input)
  131.                Specifies the first dimension of _a as declared in the
  132.                calling program.  _l_d_a >= (_k+1).
  133.  
  134.      _x         Array of dimension 1+(_n-1) * |_i_n_c_x|.  (input and output)
  135.                SSTTBBSSVV: Real array.
  136.                DDTTBBSSVV: Double precision array.
  137.                CCTTBBSSVV: Complex array.
  138.                ZZTTBBSSVV: Double complex array.
  139.                Contains the vector _x.
  140.  
  141.                On input, _x contains the right-hand side vector _b.  On
  142.                output, the solution vector overwrites array _x.
  143.  
  144.      _i_n_c_x      Integer.  (input)
  145.                Specifies the increment for the elements of _x.  _i_n_c_x must
  146.                not be 0.
  147.  
  148. NNOOTTEESS
  149.      The following program segment transfers an upper triangular band
  150.      matrix from conventional full matrix storage to band storage:
  151.  
  152.               DO 20, J = 1, N
  153.                  M = K + 1 - J
  154.                  DO 10, I = MAX( 1, J - K ), J
  155.                     A( M + I, J ) = MATRIX( I, J )
  156.           10     CONTINUE
  157.           20  CONTINUE
  158.  
  159.      The following program segment transfers a lower triangular band matrix
  160.      from conventional full matrix storage to band storage:
  161.  
  162.               DO 20, J = 1, N
  163.                  M = 1 - J
  164.                  DO 10, I = J, MIN( N, J + K )
  165.                     A( M + I, J ) = MATRIX( I, J )
  166.           10     CONTINUE
  167.           20  CONTINUE
  168.  
  169.      Tests for singularity or near-singularity are not included in these
  170.      routines.  You must perform such tests before calling these routines.
  171.  
  172.      These routines are Level 2 Basic Linear Algebra Subprograms (Level 2
  173.      BLAS).
  174.  
  175.      When working backward (_i_n_c_x < 0), each routine starts at the end of
  176.      the vector and moves backward, as follows:
  177.  
  178.           _x(1-_i_n_c_x * (_n-1)), _x(1-_i_n_c_x * (_n-2)), ..., _x(1)
  179.  
  180. SSEEEE AALLSSOO
  181.      This man page is available only online.
  182.